//{====================================================================================
//! @file Var1taskBotv.c
//! @date    2013-09-29 19:53
//! @author Andrianov Georgiy <egor.andrianov81@gmail.com>
//!
//! Finding squares among divisors of number
//!
//! @par The programme enters number
//!      It needs to output YES if there are squares among divisors of number
//!                         NO if there are no squares among divisors of number
//}====================================================================================

#include <stdio.h>
#include <math.h>

int kvadro(int a);
int proverka(int b);

int main()
{
    int n = 0;
    scanf("%i", &n);
    if (kvadro(n) == 1)
    {
        printf("YES");
    }
    else
    {
        printf("NO");
    }
    return 0;
}

//! kvadro - determine are there any sqaures among divisors of number
//!
//! @param      a   number
//!
//! @return         1 - if there are sqaures among divisors of number
//!                 0 - if there are no sqaures among divisors of number

int kvadro(int a)
{
    int i = 0;
    for (i = 2; i <= a; i++)
    {
        if ((a % i == 0) && (proverka(i) == 1))
        {
            return 1;
        }
    }
    return 0;
}

//! proverka - determine is number square of other number or not
//!
//! @param      a   number
//!
//! @return         1 - if number is square of other number
//!                 0 - if number is not square of other number

int proverka( int a)
{
    int j = 0;
    for (j = 0; j <= sqrt(a); j++)
    {
        if (a == j*j)
        {
            return 1;
        }
    }
    return 0;
}
